1. Technical Field
The present invention relates to data processing and, in particular, to the definition of metadata in the Java programming language. Still more particularly, the present invention provides an open framework for the definition of metadata.
2. Description of Related Art
Java is a programming language designed to generate applications that can run on all hardware platforms without modification. Java is an interpreted language. The source code of a Java program is compiled into an intermediate language called “bytecode,” which cannot run by itself. The bytecode must be converted (interpreted) into machine code at runtime. Upon finding a Java applet, e.g., in a Web page, a Web browser invokes a Java interpreter (Java Virtual Machine (JVM)) which translates the bytecode into machine code and runs it. JVMs are available for most hardware platforms. Thus, Java programs are not dependent on any specific hardware and will run in any computer with the Java Virtual Machine software. On the server side, Java programs can also be compiled into machine language for fastest performance, but they lose their hardware independence as a result.
JavaBeans are a component software architecture that runs in the Java environment. JavaBeans are independent Java program modules that are called for and executed. They have been used primarily for developing user interfaces at the client side. The server-side counterpart is Enterprise JavaBeans (EJBs). Java programs may also reference data sources other than JavaBeans and EJBs. For example, a Java program may reference a database made up of tables. Each source of data may have a different associated metadata. Metadata is data that describes other data. Data dictionaries and repositories are examples of metadata.
With different metadata sources, programmers must anticipate every possible metadata source and write code to communicate properly with each metadata source. If code is written for a plurality of metadata sources, the code may become very complicated. Furthermore, it is impossible to anticipate new metadata formats in the future. If an enterprise wishes to add a new data type and, thus, a new metadata source, the code must be completely rewritten. Therefore, it would be advantageous to provide an open framework for the definition of metadata.